/*
 * Selector.h
 *
 *  Created on: 24 янв. 2013
 *      Author: alex
 */

#ifndef SELECTOR_H_
#define SELECTOR_H_

#include "IDecisionMaker.h"
#include "TerritorialityModule.h"
#include "NestModule.h"
#include "ExplorationModule.h"

class Selector: public IDecisionMaker
{
public:

	virtual ~Selector();
	virtual Tile getDecision();
	static Selector* instance();
private:
	static Selector* _instance;
	IDecisionMaker *terr,*expl,*nest;
	int step;
	int chooseBetweenProbs(vector<double>& probs);
	Tile getBestNeighbour(const Tile& dest);
	double dist(const Tile& a,const Tile& b);
	Selector();
};

#endif /* SELECTOR_H_ */
